/**
 * Created on 2017年8月9日 by hexin
 */
package com.ahdms.es.ocsp;

import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
import org.bouncycastle.asn1.x509.Certificate;

import java.io.OutputStream;

public interface OCSPContentVerifier
{
    /**
     * 获取签名算法
     * @创建人 hexin
     * @创建时间 2017年8月9日
     * @创建目的【】
     * @修改目的【修改人：，修改时间：】
     * @return
     */
    AlgorithmIdentifier getAlgorithmIdentifier();

    /**
     * 获取被签名数据输出流
     * @创建人 hexin
     * @创建时间 2017年8月9日
     * @创建目的【】
     * @修改目的【修改人：，修改时间：】
     * @return
     */
    OutputStream getOutputStream();

    /**
     * 获取ocsp签名值
     * @创建人 hexin
     * @创建时间 2017年8月9日
     * @创建目的【】
     * @修改目的【修改人：，修改时间：】
     * @return
     */
    byte[] getSignature();
    
    /**
     * 获取ocsp签名证书
     * @创建人 hexin
     * @创建时间 2017年8月9日
     * @创建目的【】
     * @修改目的【修改人：，修改时间：】
     * @return
     */
    Certificate getSignCert();
    
    /**
     * 获取验证签名结果（包括验证证书，验证签两部分）
     * @创建人 hexin
     * @创建时间 2017年8月9日
     * @创建目的【】
     * @修改目的【修改人：，修改时间：】
     * @return
     */
    boolean verify();
}